import { ObjectParser } from "../../../../com/gengine/utils/ObjectParser";
import { SystemSetter } from "./SystemSetter";
import { JSON } from "../../../../com/mui/serialization/json/JSON";
type int = number;
//class SystemSetterInfo
    
    export  class SystemSetterInfo
    {
        constructor()
        {
            
            this._mapInfo = new Map<any, any> /* flash.utils.Dictionary */();
            this.skillIdDic = new Object();
            this.autoUseTargetDic = new Object();
            this.oneKeyBuyTreasure = [1, 4];
            this.delegateSetting = [1];
            this.autoGuides = [];
            this.initMapInfo();
            return;
        }

        /* internal  */initMapInfo(): void
        {
            this._mapInfo["hidePlayerName"] = "a";
            this._mapInfo["hideLifeMagic"] = "b";
            this._mapInfo["hideNearPlayerPet"] = "c";
            this._mapInfo["hideLightAndEffect"] = "d";
            this._mapInfo["hideChatNotice"] = "e";
            this._mapInfo["refuseTrade"] = "f";
            this._mapInfo["refuseUnion"] = "g";
            this._mapInfo["refuseTeam"] = "h";
            this._mapInfo["refuseFriend"] = "i";
            this._mapInfo["clickToFight"] = "j";
            this._mapInfo["clickToPick"] = "k";
            this._mapInfo["haveNoSound"] = "l";
            this._mapInfo["musicVolume"] = "m";
            this._mapInfo["effectSoundVolume"] = "n";
            this._mapInfo["roleLife"] = "o";
            this._mapInfo["roleMana"] = "p";
            this._mapInfo["petLife"] = "q";
            this._mapInfo["petMana"] = "r";
            this._mapInfo["hideSysBroadcast"] = "s";
            this._mapInfo["acceptInviteRest"] = "t";
            this._mapInfo["skillIdDic"] = "u";
            this._mapInfo["isGuideOpen"] = "v";
            this._mapInfo["showGuildPost"] = "w";
            this._mapInfo["isRoot"] = "x";
            this._mapInfo["playerOnScreen"] = "y";
            this._mapInfo["playerNum"] = "z";
            this._mapInfo["autoAddFire"] = "1";
            this._mapInfo["isGuideUse"] = "2";
            this._mapInfo["hideCornucopia"] = "3";
            this._mapInfo["hidePlayerPetType"] = "4";
            this._mapInfo["isTipGuildwarRule"] = "5";
            this._mapInfo["isLockShortcut"] = "6";
            this._mapInfo["hideModel"] = "7";
            this._mapInfo["wardrobeGuidState"] = "8";
            this._mapInfo["isDelMailAfterGet"] = "9";
            this._mapInfo["isFilterBlacklist"] = "10";
            this._mapInfo["hideTeamChatBubble"] = "11";
            this._mapInfo["hideWuxingBeadEffect"] = "12";
            this._mapInfo["autoUseTargetDic"] = "13";
            this._mapInfo["lv70DramaDifficulty"] = "14";
            this._mapInfo["lv70DramaChapter"] = "15";
            this._mapInfo["isPetMingGuide"] = "16";
            this._mapInfo["isOneKeyUpgrateSkill"] = "17";
            this._mapInfo["oneKeyBuyTreasure"] = "18";
            this._mapInfo["navbarIconShowed"] = "19";
            this._mapInfo["secondCareerTaskFinishStatus"] = "20";
            this._mapInfo["delegateSetting"] = "21";
            this._mapInfo["isComplsteCrossAdore"] = "22";
            this._mapInfo["autoGuides"] = "23";
            this._mapInfo["showSkillCdTime"] = "24";
            this._mapInfo["hideFabaoEffect"] = "25";
            this._mapInfo["hideFootPrint"] = "26";
            this._mapInfo["hideTitleByCrossSpy"] = "27";
            this._mapInfo["hideTitleByBossHole"] = "28";
            this._mapInfo["hideTitleByGuildWar"] = "29";
            this._mapInfo["hideNPCInCrossSpy"] = "30";
            this._mapInfo["notSelectPet"] = "31";
            this._mapInfo["hideBubble"] = "32";
            this._mapInfo["hideSurround"] = "33";
            this._mapInfo["hideAllTitle"] = "34";
            this._mapInfo["hideWaistBelt"] = "35";
            this._mapInfo["hideElf"] = "36";
            return;
        }

        public setSystemInfo(arg1: string, arg2: Boolean): void
        {
            var loc1=arg1;
            switch (loc1) 
            {
                case "hidePlayerName":
                {
                    this.hidePlayerName = arg2;
                    break;
                }
                case "hideLifeMagic":
                {
                    this.hideLifeMagic = arg2;
                    break;
                }
                case "hideNearPlayerPet":
                {
                    this.hideNearPlayerPet = arg2;
                    break;
                }
                case "hideLightAndEffect":
                {
                    this.hideLightAndEffect = arg2;
                    break;
                }
                case "hideChatNotice":
                {
                    this.hideChatNotice = arg2;
                    break;
                }
                case "refuseTrade":
                {
                    this.refuseTrade = arg2;
                    break;
                }
                case "refuseUnion":
                {
                    this.refuseUnion = arg2;
                    break;
                }
                case "refuseTeam":
                {
                    this.refuseTeam = arg2;
                    break;
                }
                case "refuseFriend":
                {
                    this.refuseFriend = arg2;
                    break;
                }
                case "clickToFight":
                {
                    this.clickToFight = arg2;
                    break;
                }
                case "clickToPick":
                {
                    this.clickToPick = arg2;
                    break;
                }
                case "haveNoSound":
                {
                    this.haveNoSound = arg2;
                    break;
                }
                case "hideSysBroadcast":
                {
                    this.hideSysBroadcast = arg2;
                    break;
                }
                case "hideCornucopia":
                {
                    this.hideCornucopia = arg2;
                    break;
                }
                case "acceptInviteRest":
                {
                    this.acceptInviteRest = arg2;
                    break;
                }
                case "showGuildPost":
                {
                    this.showGuildPost = arg2;
                    break;
                }
                case "autoAddFire":
                {
                    this.autoAddFire = arg2;
                    break;
                }
                case "isTipGuildwarRule":
                {
                    this.isTipGuildwarRule = arg2;
                    break;
                }
                case "isLockShortcut":
                {
                    this.isLockShortcut = arg2;
                    break;
                }
                case "hideTeamChatBubble":
                {
                    this.hideTeamChatBubble = arg2;
                    break;
                }
                case "hideWuxingBeadEffect":
                {
                    this.hideWuxingBeadEffect = arg2;
                    break;
                }
                case "showSkillCdTime":
                {
                    this.showSkillCdTime = arg2;
                    break;
                }
                case "hideFabaoEffect":
                {
                    this.hideFabaoEffect = arg2;
                    break;
                }
                case "hideFootPrint":
                {
                    this.hideFootPrint = arg2;
                    break;
                }
                case "hideBubble":
                {
                    this.hideBubble = arg2;
                    break;
                }
                case "hideSurround":
                {
                    this.hideSurround = arg2;
                    break;
                }
                case "hideWaistBelt":
                {
                    this.hideWaistBelt = arg2;
                    break;
                }
                case "hideElf":
                {
                    this.hideElf = arg2;
                    break;
                }
                case "hideTitleByBossHole":
                {
                    this.hideTitleByBossHole = arg2;
                    break;
                }
                case "hideTitleByGuildWar":
                {
                    this.hideTitleByGuildWar = arg2;
                    break;
                }
                case "hideNPCInCrossSpy":
                {
                    this.hideNPCInCrossSpy = arg2;
                    break;
                }
                case "notSelectPet":
                {
                    this.notSelectPet = arg2;
                    break;
                }
                case "hideAllTitle":
                {
                    this.hideAllTitle = arg2;
                    break;
                }
            }
            return;
        }

        public getString(): string
        {
            var loc4=undefined;
            var loc1=ObjectParser.getClassVars(this);
            var loc2=SystemSetter.defaultSetter;
            var loc3=new Object();
            var loc5=0;
            var loc6=loc1;
            for(loc4 of loc6) 
            {
                if (this[loc4] == loc2[loc4]) 
                {
                    continue;
                }
                loc3[this._mapInfo[loc4]] = this[loc4];
            }
            return JSON.serialize(loc3);
        }

        public deserializeInfo(arg1: string): Object
        {
            var loc3=undefined;
            if (arg1 == "") 
            {
                return null;
            }
            var loc1=JSON.deserialize(arg1);
            var loc2=ObjectParser.getClassVars(this);
            var loc4=0;
            var loc5=loc2;
            for(loc3 of loc5) 
            {
                if (!loc1.hasOwnProperty(this._mapInfo[loc3])) 
                {
                    continue;
                }
                this[loc3] = loc1[this._mapInfo[loc3]];
            }
            return loc1;
        }

        public getSetterObject(): Object
        {
            var loc3=undefined;
            var loc1=new Object();
            var loc2=ObjectParser.getClassVars(this);
            var loc4=0;
            var loc5=loc2;
            for(loc3 of loc5) 
            {
                loc1[loc3] = this[loc3];
            }
            return loc1;
        }

        public copy(arg1: SystemSetterInfo, arg2: Boolean=false): void
        {
            var loc3=undefined;
            var loc4=null;
            var loc5=undefined;
            var loc6=false;
            var loc7=0;
            var loc8=0;
            var loc1=ObjectParser.getClassVars(this);
            var loc2=[];
            if (arg2 != false) 
            {
                loc2 = loc1;
            }
            else 
            {
                loc4 = ["isGuideOpen", "isRoot", "isGuideUse", "wardrobeGuidState", "isPetMingGuide", "lv70DramaDifficulty", "lv70DramaChapter", "isOneKeyUpgrateSkill", "oneKeyBuyTreasure", "navbarIconShowed", "secondCareerTaskFinishStatus", "isComplsteCrossAdore", "autoGuides"];
                loc7 = 0;
                while (loc7 < loc1.length) 
                {
                    loc6 = false;
                    loc3 = loc1[loc7];
                    loc8 = 0;
                    while (loc8 < loc4.length) 
                    {
                        loc5 = loc4[loc8];
                        if (loc3 && loc5 && loc3 == loc5) 
                        {
                            loc6 = true;
                            break;
                        }
                        ++loc8;
                    }
                    if (!loc6) 
                    {
                        loc2.push(loc3);
                    }
                    ++loc7;
                }
            }
            var loc9=0;
            var loc10=loc2;
            for(loc3 of loc10) 
            {
                if (!(loc3 == "skillIdDic") && !(loc3 == "autoUseTargetDic")) 
                {
                    this[loc3] = arg1[loc3];
                    continue;
                }
                this[loc3] = ObjectParser.duplicate(arg1[loc3]);
            }
            return;
        }

        public /* var */hideLightAndEffect: Boolean=false;

        public /* var */hideChatNotice: Boolean=false;

        public /* var */hideTeamChatBubble: Boolean=false;

        public /* var */showSkillCdTime: Boolean=true;

        public /* var */refuseTrade: Boolean=false;

        public /* var */refuseUnion: Boolean=false;

        public /* var */refuseTeam: Boolean=false;

        public /* var */refuseFriend: Boolean=false;

        public /* var */clickToFight: Boolean=true;

        public /* var */clickToPick: Boolean=false;

        public /* var */haveNoSound: Boolean=false;

        public /* var */musicVolume: number=0.3;

        public /* var */effectSoundVolume: number=0.6;

        public /* var */roleLife: number=0.7;

        public /* var */roleMana: number=0.7;

        public /* var */petLife: number=0.7;

        public /* var */petMana: number=0.7;

        public /* var */hideSysBroadcast: Boolean=false;

        public /* var */hideCornucopia: Boolean=false;

        public /* var */acceptInviteRest: Boolean=false;

        public /* var */skillIdDic: Object;

        public /* var */autoUseTargetDic: Object;

        public /* var */isGuideOpen: Boolean=false;

        public /* var */showGuildPost: Boolean=false;

        public /* var */isRoot: Boolean=false;

        public /* var */playerOnScreen: Boolean=true;

        public /* var */playerNum: int=30;

        public /* var */autoAddFire: Boolean;

        public /* var */isGuideUse: Boolean=false;

        public /* var */hidePlayerPetType: int=3;

        public /* var */isTipGuildwarRule: Boolean=true;

        public /* var */isLockShortcut: Boolean=false;

        public /* var */hideModel: Boolean=false;

        public /* var */wardrobeGuidState: int=0;

        public /* var */isDelMailAfterGet: Boolean=false;

        public /* var */isFilterBlacklist: Boolean=false;

        public /* var */hideWuxingBeadEffect: Boolean=false;

        public /* var */lv70DramaDifficulty: int=-1;

        public /* var */lv70DramaChapter: int=1;

        public /* var */isPetMingGuide: Boolean=false;

        public /* var */isOneKeyUpgrateSkill: Boolean=false;

        public /* var */oneKeyBuyTreasure: Array<any>;

        public /* var */delegateSetting: Array<any>;

        public /* var */navbarIconShowed: int=0;

        public /* var */secondCareerTaskFinishStatus: int=0;

        public /* var */isComplsteCrossAdore: Boolean=false;

        /* internal */ /* var */_mapInfo: Map<any, any> /* flash.utils.Dictionary */;

        public /* var */hideFabaoEffect: Boolean=false;

        public /* var */hideFootPrint: Boolean=false;

        public /* var */hideBubble: Boolean=false;

        public /* var */hideSurround: Boolean=false;

        public /* var */hideWaistBelt: Boolean=false;

        public /* var */hideElf: Boolean=false;

        public /* var */hideTitleByBossHole: Boolean=false;

        public /* var */autoGuides: Array<any>;

        public /* var */hideNPCInCrossSpy: Boolean=false;

        public /* var */notSelectPet: Boolean=false;

        public /* var */hideAllTitle: Boolean=false;

        public /* var */isAlter: Boolean=false;

        public /* var */hidePlayerName: Boolean=false;

        public /* var */hideLifeMagic: Boolean=true;

        public /* var */hideNearPlayerPet: Boolean=false;

        public /* var */hideTitleByGuildWar: Boolean=false;
    }
